package servlet;

import dao.UserDao;
import dao.factoty.DaoFactory;
import domain.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

@WebServlet(name = "UserListServlet", value = "/UserListServlet")
public class UserListServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        UserDao userDao = DaoFactory.getUserDaoInstance();
        int page = 0;
        int pageSize = Integer.MAX_VALUE;
        if (isBlank(req.getParameter("page"))  ) {
            page = Integer.parseInt(req.getParameter("page"));
        }
        if (isBlank(req.getParameter("pageSize"))) {
            pageSize = Integer.parseInt(req.getParameter("pageSize"));
        }


        List<User> userList = null;
        try {
            userList = userDao.userList(page, pageSize);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        req.setAttribute("userList", userList);
        req.getRequestDispatcher("/admin/login/home.jsp?item="+"user_list").forward(req, resp);
    }

    private boolean isBlank(String s) {
        if (s == null || s == "") return false;
        return true;
    }
}
